package compile

type SemanticAnalyzeNode interface {
	vfySemNode()
}

type semanticAnalyzeNode struct{}

func (node *semanticAnalyzeNode) vfySemNode() {}

type TypeNode interface {
	SemanticAnalyzeNode
	vfyTypeNode()
}

type typeNode struct{ semanticAnalyzeNode }

func (node *typeNode) vfyTypeNode() {}

type BasicTypeNode struct {
	Name string
}

type ComplexTypeNode struct {
	Class        *ClassEntry
	GenericTypes []TypeNode
}
